package com.friendfeed.api;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Entry {
    private String id;
    private String title;
    private String link;
    private Date published;
    private Date updated;
    private boolean anonymous;
    private boolean hidden;
    private User user;
    private Service service;
    private List<Comment> comments;
    private List<Like> likes;
    private List<Media> media;
    private Via via;
    private Room room;
    private Geo geo;


    public Entry() {
        comments = new ArrayList<Comment>();
        likes = new ArrayList<Like>();
        media = new ArrayList<Media>();
    }


    public String getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }

    public String getLink() {
        return link;
    }

    public Date getPublished() {
        return published;
    }

    public Date getUpdated() {
        return updated;
    }

    public void setAnonymous(boolean anonymous) {
    	this.anonymous = anonymous;
    }
    
    public boolean isAnonymous() {
    	return anonymous;
    }
    
    public boolean isHidden() {
        return hidden;
    }

    public User getUser() {
        return user;
    }

    public Service getService() {
        return service;
    }

    public List<Comment> getComments() {
    	if (comments == null) {
    		comments = new ArrayList<Comment>();
    	}
        return comments;
    }

    public List<Like> getLikes() {
    	if (likes == null) {
    		likes = new ArrayList<Like>();
    	}
        return likes;
    }

    public List<Media> getMedia() {
    	if (media == null) {
    		media = new ArrayList<Media>();
    	}
        return media;
    }

    public Via getVia() {
        return via;
    }

    public Room getRoom() {
        return room;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public void setPublished(Date published) {
        this.published = published;
    }

    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    public void setHidden(boolean hidden) {
        this.hidden = hidden;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public void setService(Service service) {
        this.service = service;
    }

    public void setComments(List<Comment> comments) {
        this.comments = comments;
    }

    public void setLikes(List<Like> likes) {
        this.likes = likes;
    }

    public void setMedia(List<Media> media) {
        this.media = media;
    }

    public void setVia(Via via) {
        this.via = via;
    }

    public void setRoom(Room room) {
        this.room = room;
    }

    
    public Geo getGeo() {
		return geo;
	}

	public void setGeo(Geo geo) {
		this.geo = geo;
	}

	public String toString() {
        return "Entry{" +
                "id='" + id + '\'' +
                ", title='" + title + '\'' +
                ", link='" + link + '\'' +
                ", published=" + published +
                ", updated=" + updated +
                ", hidden=" + hidden +
                ", user=" + user +
                ", service=" + service +
                '}';
    }

}
